package com.whw.fy.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.whw.fy.config.IgnoreSwaggerParameter;import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Transient;

@ApiModel(value = "com-whw-fy-entity-Clazz")
@Data
public class Clazz {
    /**
     * 班级id
     */
    @ApiModelProperty(value = "班级id")
    private Integer classId;

    /**
     * 班级名称
     */
    @ApiModelProperty(value = "班级名称")
    private String className;

    /**
     * 责任老师id
     */
    @ApiModelProperty(value = "责任老师id")
    private Integer classResponsibleTeacherId;

    /**
     * 授课老师id
     */
    @ApiModelProperty(value = "授课老师id")
    private Integer classTeacherId;

    /**
     * 医疗主管id
     */
    @ApiModelProperty(value = "医疗主管id")
    private Integer classMedicalDirectorId;

    /**
     * 教学主管id
     */
    @ApiModelProperty(value = "教学主管id")
    private Integer classTeachingDirectorId;

    /**
     * 课程id
     */
    @ApiModelProperty(value = "课程id")
    private Integer classCourseId;

    /**
     * 上课次数（新的课程默认0）
     */
    @ApiModelProperty(value = "上课次数（新的课程默认0）")
    private Integer classCompletionTimes;

    /**
     * 班级类型
     */
    @ApiModelProperty(value = "班级类型")
    private Integer classType;

    /**
     * 班级开始时间
     */
    @ApiModelProperty(value = "班级开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date startTime;

    /**
     * 班级计划完成时间
     */
    @ApiModelProperty(value = "班级计划完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date endTime;

    /**
     * 课时数量
     */
    @ApiModelProperty(value = "课时数量")
    private Integer classTimes;

    /**
     * 学生id以“;”隔开
     */
    @ApiModelProperty(value = "学生id以“;”隔开")
    private String studentId;

    /**
     * 课程状态 0：未完成 1：进行中 2：已结束
     */
    @ApiModelProperty(value = "课程状态 0：未完成 1：进行中 2：已结束")
    private Integer classStatus;

    /**
     * 训练方式：0：工作时间、1：非工作时间、2：持续混合、3：不定期（点选）
     */
    @ApiModelProperty(value = "训练方式：0：工作时间、1：非工作时间、2：持续混合、3：不定期（点选）")
    private Integer classTrainingMethods;
    /**
     * 班级开始时间
     */
    @Transient
    @ApiModelProperty(value = "班级开始时间（传这个）")
    private String startTimeToString;
    /**
     * 班级计划完成时间
     */
    @Transient
    @ApiModelProperty(value = "班级计划完成时间（传这个）")
    private String endTimeToString;
    @Transient
    @ApiModelProperty(value = "上课地点")
    private String CLASSRoomName;
    @Transient
    @IgnoreSwaggerParameter
    private ClazzType clazz_type;
    @Transient
    @IgnoreSwaggerParameter
    private Staff staff;
    @Transient
    @IgnoreSwaggerParameter
    private Lesson lesson;
}